﻿namespace K9Nano.IM.Security
{
    public interface ISignModelManager<in T> where T: ISignModel
    {
        /// <summary>
        /// 对<see cref="model"/>进行签名
        /// </summary>
        /// <param name="model"></param>
        void Sign(T model);

        /// <summary>
        /// 校验<see cref="model"/>的签名
        /// </summary>
        /// <param name="model"></param>
        bool Verify(T model);
    }


    public interface ISignModelManager : ISignModelManager<ISignModel>
    {
    }
}